import 'package:get/get.dart';

import '../modules/address/addressAdd/bindings/address_add_binding.dart';
import '../modules/address/addressAdd/views/address_add_view.dart';
import '../modules/address/addressList/bindings/address_list_binding.dart';
import '../modules/address/addressList/views/address_list_view.dart';
import '../modules/cart/bindings/cart_binding.dart';
import '../modules/cart/views/cart_view.dart';
import '../modules/checkout/bindings/checkout_binding.dart';
import '../modules/checkout/views/checkout_view.dart';
import '../modules/login/phoneAccountLogin/bindings/phone_account_login_binding.dart';
import '../modules/login/phoneAccountLogin/views/phone_account_login_view.dart';
import '../modules/login/phoneOneClickLogin/bindings/phone_one_click_login_binding.dart';
import '../modules/login/phoneOneClickLogin/views/phone_one_click_login_view.dart';
import '../modules/login/phoneSmsLoginStep1/bindings/phone_sms_login_step1_binding.dart';
import '../modules/login/phoneSmsLoginStep1/views/phone_sms_login_step1_view.dart';
import '../modules/login/phoneSmsLoginStep2/bindings/phone_sms_login_step2_binding.dart';
import '../modules/login/phoneSmsLoginStep2/views/phone_sms_login_step2_view.dart';
import '../modules/login/registerStep1/bindings/register_step1_binding.dart';
import '../modules/login/registerStep1/views/register_step1_view.dart';
import '../modules/login/registerStep2/bindings/register_step2_binding.dart';
import '../modules/login/registerStep2/views/register_step2_view.dart';
import '../modules/login/registerStep3/bindings/register_step3_binding.dart';
import '../modules/login/registerStep3/views/register_step3_view.dart';
import '../modules/order/orderDetail/bindings/order_detail_binding.dart';
import '../modules/order/orderDetail/views/order_detail_view.dart';
import '../modules/order/orderList/bindings/order_list_binding.dart';
import '../modules/order/orderList/views/order_list_view.dart';
import '../modules/pay/bindings/pay_binding.dart';
import '../modules/pay/views/pay_view.dart';
import '../modules/search/bindings/search_binding.dart';
import '../modules/search/views/search_view.dart';
import '../modules/shop/bindings/shop_binding.dart';
import '../modules/shop/bindings/shop_detail_binding.dart';
import '../modules/shop/views/shop_detail_view.dart';
import '../modules/shop/views/shop_view.dart';
import '../modules/tabs/bindings/tabs_binding.dart';
import '../modules/tabs/views/tabs_view.dart';

part 'app_routes.dart';

class AppPages {
  AppPages._();

  static const INITIAL = Routes.TABS;

  static final routes = [
    GetPage(
      name: _Paths.TABS,
      page: () => const TabsView(),
      binding: TabsBinding(),
    ),
    GetPage(
      name: _Paths.SHOP,
      page: () => const ShopView(),
      binding: ShopBinding(),
    ),
    GetPage(
      name: _Paths.SEARCH,
      page: () => const SearchView(),
      binding: SearchBinding(),
    ),
    GetPage(
      name: _Paths.SHOP_DETAIL,
      page: () => const ShopDetailView(),
      binding: ShopDetailBinding(),
    ),
    GetPage(
      name: _Paths.CART,
      page: () => const CartView(),
      binding: CartBinding(),
    ),
    GetPage(
        name: _Paths.PHONE_ONE_CLICK_LOGIN,
        page: () => const PhoneOneClickLoginView(),
        binding: PhoneOneClickLoginBinding()),
    GetPage(
        name: _Paths.PHONE_SMS_LOGIN_STEP1,
        page: () => const PhoneSmsLoginStep1View(),
        binding: PhoneSmsLoginStep1Binding()),
    GetPage(
        name: _Paths.PHONE_SMS_LOGIN_STEP2,
        page: () => const PhoneSmsLoginStep2View(),
        binding: PhoneSmsLoginStep2Binding()),
    GetPage(
        name: _Paths.PHONE_ACCOUNT_LOGIN,
        page: () => const PhoneAccountLoginView(),
        binding: PhoneAccountLoginBinding()),
    GetPage(
        name: _Paths.REGISTER_STEP1,
        page: () => const RegisterStep1View(),
        binding: RegisterStep1Binding()),
    GetPage(
        name: _Paths.REGISTER_STEP2,
        page: () => const RegisterStep2View(),
        binding: RegisterStep2Binding()),
    GetPage(
        name: _Paths.REGISTER_STEP3,
        page: () => const RegisterStep3View(),
        binding: RegisterStep3Binding()),
    GetPage(
      name: _Paths.CHECKOUT,
      page: () => const CheckoutView(),
      binding: CheckoutBinding(),
    ),
    GetPage(
      name: _Paths.ADDRESS_LIST,
      page: () => const AddressListView(),
      binding: AddressListBinding(),
    ),
    GetPage(
      name: _Paths.ADDRESS_ADD,
      page: () => const AddressAddView(),
      binding: AddressAddBinding(),
    ),
    GetPage(
      name: _Paths.PAY,
      page: () => const PayView(),
      binding: PayBinding(),
    ),
    GetPage(
      name: _Paths.ORDER_LIST,
      page: () => const OrderListView(),
      binding: OrderListBinding(),
    ),
    GetPage(
      name: _Paths.ORDER_DETAIL,
      page: () => const OrderDetailView(),
      binding: OrderDetailBinding(),
    ),
  ];
}
